$(function () {
    //定义一个有名函数
    function getArticleCategory() {
        //发送请求查询数据
        $.get('/admin/category/list', function (res) {
            const list = res.data
            //拼接模态框
            const html = template('trTpl', { list })
            // 模态框填入dom元素内
            $('.category_table tbody').html(html)
        })
    }
    //模态框新增做点击事件
    $('.btn_opt_add').on('click', function () {
        // 获取模态框input的值
        const name = $("input[name='name']").val().trim()
        const slug = $("input[name='slug']").val().trim()
        //判断,如果为空不往下执行
        if (!name || !slug) {
            //模态框提醒
            layer.msg('名称与描述不能为空');
            return
        }
        // 发送请求添加新增信息
        $.post('/admin/category/add', { name, slug }, function (res) {
            //成功提示信心模态框
            layer.msg('添加成功');
            // 清空input的值
            $("input[name='name']").val("")
            $("input[name='slug']").val("")
            //隐藏模态框
            $('#myModal').modal('hide')
            //调用有名函数刷新页面获取最新值
            getArticleCategory()
        })
    })
    //给编辑按钮做点击事件,模态框生成的动态结构用委托事件
    $('.category_table').on('click', '.edit', function () {
        //显示模态框
        $('#editModal').modal('show')
        //声明常量item赋值
        const item = $(this).data("item");
        //获取编辑前的值填入编辑模态框内
        $('#name').val(item.name)
        $('#slug').val(item.slug)
        //添加赋值当前数据的ID
        $("#editModal").data("id", item.id)

    })
    //给编辑事件里面的保存做点击事件
    $('.btn_opt_edit').on('click', function () {
        if (!$('#name').val() || !$('#slug').val()) {
            //模态框提醒
            layer.msg('名称与描述不能为空');
            return
        }
        // 声明一个变量对象,根据编辑按钮点击事件里的值拿过来重新赋值
        let params = {
            name: $('#name').val(),
            slug: $('#slug').val(),
            id: $("#editModal").data("id")
        }
        //发送post请求
        $.post('/admin/category/edit', params, function (res) {
            //成功提示信心模态框
            layer.msg('编辑成功');
            //清空模态框的修改值
            $('#name').val("")
            $('#slug').val("")
            $("#editModal").data("")
            //隐藏模态框
            $('#editModal').modal('hide')
            //调用有名函数刷新页面获取最新值
            getArticleCategory()
        })
    })
    //删除做点击事件,事件委托
    $('.category_table').on('click', '.delete', function () {
        //layui提示框
        layer.confirm('您确定要删除吗?', { title: '提示' }, (index) => {
            //声明常量赋值
            const id = $(this).data('id')
            // 发送请求post请求
            $.post('/admin/category/delete', { id }, function (res) {
                //提示框
                layer.msg('删除成功');
                //更新数据渲染页面
                getArticleCategory()
            })
        })
    })
    // 调用有名函数
    getArticleCategory()
})